#define GRIDLINHAS 1024
#define GRIDCOLUNAS 1024

//Posições da célula dentro do GRID
//Posição dos CORNERS sao definidos no sentido horário começando pelo superior esquerdo
#define CENTER 0
#define CORNER1 1
#define CORNER2 2
#define CORNER3 3
#define CORNER4 4

#define TOP 5
#define BOTTOM 6
#define LEFT 7
#define RIGHT 8

#include<iostream>
using namespace std;

int classificacaoPonto(int l, int c){
	//Caso mais comum
	if( (l > 0 && l < GRIDLINHAS-1) && (c > 0 && c < GRIDCOLUNAS - 1)){
		return CENTER;	
	}
	
	if( l == 0 ){
		if(c > 0 && c < GRIDCOLUNAS - 1 ){
			return CORNER1;
		}else if()
	}
}


//Mostra o tabuleiro com a posição das celulas vivas e mortas
void mostraMatriz(bool tab[][1024], int a, int b){
	for(int i=0; i<a; i++){
		for(int j=0; j<a; j++){
			cout<<tab[i][j];
		}
		cout<<endl;
	}
}

//calcula a nova geração baseado na geração atual
void novaGeracao(bool ant[][1024], int a, int b){
	
}


int main(){
	bool tab[][1024] = {{true,true,false},{true,true,true},{false,false,true}};
	mostraMatriz(tab,3,3);
}
